
def test():
    """
    局部变量
    :return:
    """
    a = 10
    print(a)
test()
#print(a)

"""
全局变量
"""
num = 10

def test1():
    print(num)

def test2():
    print(num)

test1()
test2()

"""
修改全局变量
"""


B = 20

def test_func():
    """
    修改全局变量，使用global
    :return:
    """
    global B
    B = 50
    print(B)
test_func()
print(B)

"""
总结：
    1 如果在函数中直接把变量num = 20 赋值，此时的num 不是全局变量的修改，而是相当于在函数内部声明了一个新的局部变量
    2 函数体内修改全局变量： 先global声明，再赋值
"""